
import { ApiProperty } from '@midwayjs/swagger';

export class DPModelInfoQueryDto {
  @ApiProperty({
    description: '样本类型',
    example: '建筑物变化检测',
  })
  sampleType: string;

  @ApiProperty({
    description: '样本大小',
    example: [128, 256, 512, 1024], // 示例：可以选择的多个样本大小
  })
  sampleSizes: number[];

  @ApiProperty({
    description: '分辨率',
    example: [0.5, 1, 2, 10], // 示例：可以选择的分辨率
  })
  resolutions: number[];

  @ApiProperty({
    description: '当前页码',
    example: 1,
  })
  page: number;  // 页码

  @ApiProperty({
    description: '每页显示的数量',
    example: 10,
  })
  limit: number; // 每页条数
}

export class DPModelInfoTypeQueryDto {
    @ApiProperty({
      description: '样本类型',
      example: 0,
    })
    Type: number;  // 样本类型，用于查询过滤
}


export class DPModelInfoAddDto {
  @ApiProperty({
    description: '样本类型',
    example: '建筑物变化检测',
  })
  sampleType: string;

  @ApiProperty({
    description: '样本大小',
    example: 128,
  })
  sampleSize: number;

  @ApiProperty({
    description: '分辨率',
    example: 1.0,
  })
  resolution: number;

  @ApiProperty({
    description: '样本数量',
    example: 100,
  })
  sampleCount: number;

  @ApiProperty({
    description: '样本状态',
    example: 1,  // 1表示启用，0表示禁用
  })
  status: number;

  @ApiProperty({
    description: '样本类型标识',
    example: 1, // 样本的类型标识（例如：1 代表某一类型）
  })
  type: number;  // 添加的类型字段

  @ApiProperty({
    description: '创建时间',
    example: '2025-02-07T10:00:00Z',
  })
  createTime: Date;
}


export class DPModelInfoUpdateDto {
  @ApiProperty({
    description: '样本类型',
    example: '建筑物变化检测',
    required: false,
  })
  sampleType?: string;

  @ApiProperty({
    description: '样本大小',
    example: 128,
    required: false,
  })
  sampleSize?: number;

  @ApiProperty({
    description: '分辨率',
    example: 1.0,
    required: false,
  })
  resolution?: number;

  @ApiProperty({
    description: '样本数量',
    example: 100,
    required: false,
  })
  sampleCount?: number;

  @ApiProperty({
    description: '样本状态',
    example: 1,  // 1表示启用，0表示禁用
    required: false,
  })
  status?: number;

  @ApiProperty({
    description: '样本类型标识',
    example: 1,  // 样本的类型标识
    required: false,
  })
  type?: number;  // 更新时包含的类型字段

  @ApiProperty({
    description: '创建时间',
    example: '2025-02-07T10:00:00Z',
    required: false,
  })
  createTime?: Date;
}


export class DPModelInfoDeleteDto {
  @ApiProperty({
    description: '样本 ID',
    example: 1,
  })
  objId: number;  // 样本的唯一标识符，通常为 OBJID
}

export class DPModelInfoBatchUpdateDto {
  @ApiProperty({
    description: '新的样本类型',
    example: '新的样本类型',
  })
  sampleType: string;

  @ApiProperty({
    description: '需要更新的样本 ID 列表',
    example: [1, 2, 3],
  })
  sampleIds: number[];
}
